


const key = 'goods'

//一个封装 , 获取本地数据库中的数据
export const getLocalGoods = () =>{
    const localGoods = JSON.parse(localStorage.getItem(key) || '{}')
    return localGoods
}

// 取出本地数据库中的数据 , 进行遍历和 计算
// 有一个返回值: 返回所有的数据和
export const getTotalCount = () =>{
    const localGoods = getLocalGoods()
    let totalCount = 0
    for(const key in localGoods){
        totalCount += localGoods[key]
        // console.log("localGoods中的key是啥")
        console.log(localGoods[key]);
    }
    return totalCount
}

// 1.添加数据
// 2.获取本地数据库中的数据
// 3.将本地数据库的中id 进行赋值 或者 计算
// 4.将数据转为字符砖存入本地数据库 
// 5.添加完数据后, 返回取数据的函数 , 函数返回所有的数据
export const addLocalGoods = (goodsObj) => {
    const localGoods = getLocalGoods()
    if(localGoods[goodsObj.goodsId]){
        localGoods[goodsObj.goodsId] += goodsObj.count
    }else{
        localGoods[goodsObj.goodsId] = goodsObj.count
    }
    localStorage.setItem(key,JSON.stringify(localGoods))

    return getTotalCount()
}

//修改本地的数据
export const updateLocalGoods = (changedGoods) => {
    //获取本地仓库数据
    const localGoods = getLocalGoods()
    //更改本地仓库数据
    localGoods[changedGoods.goodsId] = changedGoods.count
    //存入本地仓库
    localStorage.setItem(key,JSON.stringify(localGoods))
    //返回更改后的总数量
    return getTotalCount()
}

export const deleteLocalGoodsById = (goodsId) => {
    //取出数据库的数据
    const localGoods = getLocalGoods()
    //删除数据中选中的id 的数据
    delete localGoods[goodsId]
    //重新存储数据到数据库
    localStorage.setItem(key,JSON.stringify(localGoods))
    return getTotalCount()
}